package com.byl.common.utils;

import com.byl.sdk.bean.ResultBean;

/**
 * Created by Administrator on 2019/12/17.
 */
public class PageSplitUtils {

    public static String toConvertPageSplit(ResultBean bean,String prefixUrl,String ext){
        if(null==ext)
            ext=".html";
        StringBuffer sb=new StringBuffer();
        sb.append("<ul class='outer'>");
        if(bean.getPage()>1){
            int pg=bean.getPage()-1;
            sb.append("<li><a href='"+prefixUrl+"/"+pg+ext+"'>&lt;</a></li>");
        }else{
            sb.append("<li class='prev'><span>&lt;</span></li>");
        }
        int t=bean.getTotalPage()==0?1:bean.getTotalPage();
        int i=1;
        int total=0;
        int end=1;
        //如果当前页小于等于4
        if(bean.getPage()<=4){
            total=t>6?6:t;
          //显示当前页之前的页码
          for(;i<bean.getPage();i++){
              sb.append("<li><a href='"+prefixUrl+"/"+i+ext+"'>"+i+"</a></li>");
          }
          //显示当前页
            sb.append("<li class='active'><a href='"+prefixUrl+"/"+bean.getPage()+ext+"'>"+bean.getPage()+"</a></li>");
            int tmp=total-bean.getPage();
            //补全剩下的页码
            if(tmp>0){
                int c=bean.getPage()+1;
                for(int j=0;j<tmp;j++){
                    sb.append("<li><a href='"+prefixUrl+"/"+c+ext+"'>"+c+"</a></li>");
                    c++;
                }
            }
            //总页数超过6显示省略号
            if(t>6){
                sb.append(" <li class='pass'><span>...</span></li>");
            }
        }else{

            i=bean.getPage()-2;
             total=bean.getPage()+2;
            if(total>=bean.getTotalPage()){
                total=bean.getTotalPage();
            }else{
                end=0;
            }
            //永远显示第一页
            sb.append("<li><a href='"+prefixUrl+"/1"+ext+"'>1</a></li>");

            //如果显示到最后2页
            int tt=bean.getTotalPage()-bean.getPage();
            if(tt==1){
                sb.append("<li><a href='"+prefixUrl+"/2"+ext+"'>2</a></li>");
            }else if(tt==0){
                sb.append("<li><a href='"+prefixUrl+"/2"+ext+"'>2</a></li>");
                sb.append("<li><a href='"+prefixUrl+"/3"+ext+"'>3</a></li>");
            }

            sb.append(" <li class='pass'><span>...</span></li>");
            for(;i<=total;i++){
                if(i==bean.getPage()){
                    sb.append("<li class='active'><a href='"+prefixUrl+"/"+i+ext+"'>"+i+"</a></li>");
                }else{
                    sb.append("<li><a href='"+prefixUrl+"/"+i+ext+"'>"+i+"</a></li>");
                }
            }
            if(end==0){
                sb.append(" <li class='pass'><span>...</span></li>");
            }

        }
        if(bean.getPage()<bean.getTotalPage()){
            int pg=bean.getPage()+1;
            sb.append(" <li><a href='"+prefixUrl+"/"+pg+ext+"'>&gt;</a></li>");
        }else{
            sb.append(" <li class='prev'><span>&gt;</span></li>");
        }
        sb.append("</ul>");
        return sb.toString();
    }

    public static String toConvertMobilePageSplit(ResultBean bean,String prefixUrl,String ext){
        if(null==ext)
            ext=".html";
        StringBuffer sb=new StringBuffer();
        sb.append("<ul class='display-flex align-items justify-content'>");
        if(bean.getPage()>1){
            int pg=bean.getPage()-1;
            sb.append("<li><a href='"+prefixUrl+"/"+pg+ext+"'>&lt;</a></li>");
        }else{
            sb.append("<li class='prev'><span>&lt;</span></li>");
        }
        int t=bean.getTotalPage()==0?1:bean.getTotalPage();
        int i=1;
        int total=0;
        int end=1;
        //如果当前页小于等于4
        if(bean.getPage()<=4){
            total=t>6?6:t;
            //显示当前页之前的页码
            for(;i<bean.getPage();i++){
                sb.append("<li><a href='"+prefixUrl+"/"+i+ext+"'>"+i+"</a></li>");
            }
            //显示当前页
            sb.append("<li class='active'><a href='"+prefixUrl+"/"+bean.getPage()+ext+"'>"+bean.getPage()+"</a></li>");
            int tmp=total-bean.getPage();
            //补全剩下的页码
            if(tmp>0){
                int c=bean.getPage()+1;
                for(int j=0;j<tmp;j++){
                    sb.append("<li><a href='"+prefixUrl+"/"+c+ext+"'>"+c+"</a></li>");
                    c++;
                }
            }
            //总页数超过6显示省略号
            if(t>6){
                sb.append(" <li class='pass'><span>...</span></li>");
            }
        }else{

            i=bean.getPage()-2;
            total=bean.getPage()+2;
            if(total>=bean.getTotalPage()){
                total=bean.getTotalPage();
            }else{
                end=0;
            }
            //永远显示第一页
            sb.append("<li><a href='"+prefixUrl+"/1"+ext+"'>1</a></li>");

            //如果显示到最后2页
            int tt=bean.getTotalPage()-bean.getPage();
            if(tt==1){
                sb.append("<li><a href='"+prefixUrl+"/2"+ext+"'>2</a></li>");
            }else if(tt==0){
                sb.append("<li><a href='"+prefixUrl+"/2"+ext+"'>2</a></li>");
                sb.append("<li><a href='"+prefixUrl+"/3"+ext+"'>3</a></li>");
            }

            sb.append(" <li class='pass'><span>...</span></li>");
            for(;i<=total;i++){
                if(i==bean.getPage()){
                    sb.append("<li class='active'><a href='"+prefixUrl+"/"+i+ext+"'>"+i+"</a></li>");
                }else{
                    sb.append("<li><a href='"+prefixUrl+"/"+i+ext+"'>"+i+"</a></li>");
                }
            }
            if(end==0){
                sb.append(" <li class='pass'><span>...</span></li>");
            }

        }
        if(bean.getPage()<bean.getTotalPage()){
            int pg=bean.getPage()+1;
            sb.append(" <li><a href='"+prefixUrl+"/"+pg+ext+"'>&gt;</a></li>");
        }else{
            sb.append(" <li class='prev'><span>&gt;</span></li>");
        }
        sb.append("</ul>");
        return sb.toString();
    }


}
